
/**
 * Copyright (c) subnew ;
 * email:joseanluo@gmail.com;
 * Licensed under the GPL;  
 * @Title: DataSourceContextHolder.java;
 * @Package com.subnew.framework.core.extend.datasource;
 */
package com.subnew.mango.frame.dao.datasource;

import com.subnew.mango.frame.constant.DataSourceType;



/**
 * 获得和设置上下文环境的类，主要负责改变上下文数据源的名称
 * @author JoseanLuo
 * @date  2014-7-15 下午11:35:41
 * @history new 
 * @version V1.0 
 */
@SuppressWarnings({"rawtypes","unchecked"})
public class DataSourceContextHolder {
	/**
	 * 线程上下文对象Holder
	 */
	private final static ThreadLocal contextHolder= new ThreadLocal();
	
	/**
	* 取得为当前线程的数据源类型。
	* @return   
	* @author JoseanLuo  
	* @date 2014-7-15 下午11:56:50
	* @version V1.0
	 */
	public static DataSourceType getDataSourceType(){
		return (DataSourceType) contextHolder.get();
	}
	/**
	* 设置当前线程的数据源类型。
	* @param dataSourceType   
	* @author JoseanLuo  
	* @date 2014-7-15 下午11:57:48
	* @version V1.0
	 */
	public static void  setDataSourceType(DataSourceType dataSourceType){
		contextHolder.set(dataSourceType);
	}
	/**
	* 将当前线程的上下文Holder从contextHolder中移除。   
	* @author JoseanLuo  
	* @date 2014-7-15 下午11:58:31
	* @version V1.0
	 */
	public static void removeDataSourceType(){
		contextHolder.remove();
	}
	

}
